<h1 id="live2d-widget"><a class="markdownIt-Anchor" href="#live2d-widget">#</a> Live2D Widget</h1>
<h2 id="特性-feature"><a class="markdownIt-Anchor" href="#特性-feature">#</a> 特性 Feature</h2>
<p>在网页中添加 Live2D 看板娘。与 PJAX 兼容，支持无刷新加载。<br>
Add Live2D widget to web page. Compatible with PJAX.</p>
<p><strong>警告：不支持 IE。</strong><br>
<strong>WARNING: DO NOT SUPPORT IE.</strong></p>
<h2 id="示例-demo"><a class="markdownIt-Anchor" href="#示例-demo">#</a> 示例 Demo</h2>
<p>在<a href="https://zhangshuqiao.org" target="_blank" rel="noopener">米米的博客</a>的左下角可查看效果。需要使用支持 WebGL 的现代浏览器浏览。</p>
<p><img src="assets/screenshot-1.png" alt=""><br>
<img src="assets/screenshot-2.png" alt=""><br>
<img src="assets/screenshot-3.png" alt=""></p>
<p>这个仓库中也提供了两个 Demo，即</p>
<ul>
<li><a href="https://mi.js.org/live2d-widget/demo/demo1.html" target="_blank" rel="noopener">demo1.html</a> ，展现基础效果</li>
<li><a href="https://mi.js.org/live2d-widget/demo/demo2.html" target="_blank" rel="noopener">demo2.html</a> ，仿 NPM 的登陆界面</li>
</ul>
<h2 id="依赖-dependencies"><a class="markdownIt-Anchor" href="#依赖-dependencies">#</a> 依赖 Dependencies</h2>
<p>本插件需要 jQuery 和 font-awesome 支持，请确保它们已在页面中加载，例如在 <code>&lt;head&gt;</code>  中加入：<br>
jQuery and font-awesome is required for this plugin. You can add this to  <code>&lt;head&gt;</code> :</p>
<figure class="highlight xml"><figcaption><span class="lang">XML</span></figcaption><div class="code-container"><pre class="gutter">1<br>2<br></pre><pre class="code"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>script</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>script</span><span class="token punctuation">></span></span><br><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>link</span> <span class="token attr-name">rel</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>stylesheet<span class="token punctuation">"</span></span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>https://cdn.jsdelivr.net/npm/font-awesome/css/font-awesome.min.css<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><br></pre></div></figure><p>否则无法正常显示。（如果你的网页已经加载了 jQuery，就不要重复加载了）</p>
<h2 id="使用-usage"><a class="markdownIt-Anchor" href="#使用-usage">#</a> 使用 Usage</h2>
<p>你可以直接这样使用：</p>
<figure class="highlight xml"><figcaption><span class="lang">XML</span></figcaption><div class="code-container"><pre class="gutter">1<br></pre><pre class="code"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>script</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>https://cdn.jsdelivr.net/gh/stevenjoezhang/live2d-widget/autoload.js<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>script</span><span class="token punctuation">></span></span><br></pre></div></figure><p>将这一行代码加入 <code>&lt;head&gt;</code>  或 <code>&lt;body&gt;</code> ，即可看到效果。如果你的网站启用了 PJAX，由于看板娘不必每页刷新，因此需要注意将相关脚本放到 PJAX 刷新区域之外。</p>
<p>换句话说，如果你是小白，或者只需要最基础的功能，就只需要：</p>
<ul>
<li>把这一行代码，连同前面的两行代码，一起放到 html 的 <code>&lt;head&gt;</code>  中即可；</li>
<li>如果页面是用各种模版引擎、php、asp 生成的，也要自行修改，方法类似，只是可能略为麻烦。</li>
</ul>
<p><strong>但是！我们强烈推荐自己进行配置，否则很多功能是不完整的，并且可能产生问题！</strong><br>
如果你有兴趣自己折腾的话，请看下面的详细说明。</p>
<h3 id="using-cdn"><a class="markdownIt-Anchor" href="#using-cdn">#</a> Using CDN</h3>
<p>如果要自定义有关内容，可以把这个仓库 Fork 一份，然后进行修改。这时，使用方法对应地变为</p>
<figure class="highlight xml"><figcaption><span class="lang">XML</span></figcaption><div class="code-container"><pre class="gutter">1<br></pre><pre class="code"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>script</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>https://cdn.jsdelivr.net/gh/username/live2d-widget/autoload.js<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>script</span><span class="token punctuation">></span></span><br></pre></div></figure><p>将 <code>username</code>  替换为你的 GitHub 用户名即可。</p>
<h3 id="self-host"><a class="markdownIt-Anchor" href="#self-host">#</a> Self-host</h3>
<p>你也可以直接把这些文件放到服务器上，而不是通过 CDN 加载。</p>
<ul>
<li>如果你可以通过 ssh 访问你的主机，请把整个项目克隆到服务器上。执行：</li>
</ul>
<figure class="highlight bash"><figcaption><span class="lang">bash</span></figcaption><div class="code-container"><pre class="gutter">1<br>2<br>3<br></pre><pre class="code"><span class="token builtin class-name">cd</span> /path/to/your/webroot<br><span class="token comment"># Clone this repository</span><br><span class="token function">git</span> clone https://github.com/stevenjoezhang/live2d-widget.git<br></pre></div></figure><ul>
<li>如果你的主机无法用 ssh 连接（例如一般的虚拟主机），请选择 <code>Download ZIP</code> ，然后通过 ftp 上传到主机上，再解压到网站的目录下。</li>
<li>如果你是通过 Hexo 等工具部署的静态博客，请选择 <code>Download ZIP</code> ，然后解压到本地的博客目录下，例如 <code>source</code>  下与 <code>_posts</code>  同级的目录。重新部署博客时，相关文件就会自动上传到对应的目录。（还需要在 Hexo 主题相关的 swig 或 ejs 模版中正确配置路径，才可以加载）</li>
</ul>
<p>这样，整个项目就可以通过你的服务器 IP 或者域名从公网访问了。你可以试试能否正常地通过浏览器打开 <code>autoload.js</code>  和 <code>live2d.min.js</code>  等文件。<strong>（最好还要确定一下这些文件的内容是正确的，有时由于字符集的问题，文件中可能出现乱码；此时需要重新下载）</strong><br>
如果没有问题，接下来需要修改一些配置。（需要通过服务器上的 <code>vim</code> ， <code>emacs</code> ，cPanel 文件管理器等工具修改；你也可以先在本地完成这一步骤，再上传到服务器上）<br>
修改 <code>autoload.js</code>  中的参数 <code>live2d_path</code>  为 <code>live2d-widget</code>  这一文件夹在公网上的路径。比如说，如果你可以通过</p>
<pre><code>https://www.example.com/path/to/live2d-widget/live2d.min.js
</code></pre>
<p>访问到 <code>live2d.min.js</code> ，那么就把 <code>live2d_path</code>  的值修改为</p>
<pre><code>https://www.example.com/path/to/live2d-widget/
</code></pre>
<p>路径末尾的 <code>/</code>  一定要加上。具体可以参考 <code>autoload.js</code>  内的注释。<br>
完成后，在你要添加看板娘的界面加入</p>
<figure class="highlight xml"><figcaption><span class="lang">XML</span></figcaption><div class="code-container"><pre class="gutter">1<br></pre><pre class="code"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>script</span> <span class="token attr-name">src</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>https://www.example.com/path/to/live2d-widget/autoload.js<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>script</span><span class="token punctuation">></span></span><br></pre></div></figure><p>就可以加载了。</p>
<p><code>waifu-tips.json</code>  中包含了触发条件（ <code>selector</code> ，选择器）和触发时显示的文字（ <code>text</code> ）。源文件是对 Hexo 的 NexT 主题有效的，为了适用于你自己的网页，也需要自行修改，或增加新内容。<br>
<strong>警告：作者不对包括但不限于 <code>waifu-tips.json</code>  和 <code>waifu-tips.js</code>  文件中的内容负责，请自行确保它们是合适的。</strong></p>
<h2 id="更多-more"><a class="markdownIt-Anchor" href="#更多-more">#</a> 更多 More</h2>
<p>Live2D 官方网站：<br>
<a href="https://www.live2d.com/en/" target="_blank" rel="noopener">https://www.live2d.com/en/</a><br>
<a href="https://live2d.github.io" target="_blank" rel="noopener">https://live2d.github.io</a></p>
<p>可以在官方网站下载 SDK，包含更多的功能，也可以自行编译。具体操作是：</p>
<ul>
<li>点击 Cubism SDK for Web，下载相关文件；</li>
<li>解压并进入目录，执行 <code>npm install</code> ；</li>
<li>执行 <code>npm run build-sample</code> 。</li>
</ul>
<p>如果有任何疑问，欢迎提 Issue。如果有任何修改建议，欢迎提 PR。</p>
<h2 id="鸣谢-credits"><a class="markdownIt-Anchor" href="#鸣谢-credits">#</a> 鸣谢 Credits</h2>
<p>代码自这篇博文魔改而来：<br>
<a href="https://www.fghrsh.net/post/123.html" target="_blank" rel="noopener">https://www.fghrsh.net/post/123.html</a><br>
 相比初始的版本，这个 Repo 增加了一些功能，并优化了提示展现机制。</p>
<p>更多内容可以参考：<br>
<a href="https://zhangshuqiao.org/2018-07/%E5%9C%A8%E7%BD%91%E9%A1%B5%E4%B8%AD%E6%B7%BB%E5%8A%A0Live2D%E7%9C%8B%E6%9D%BF%E5%A8%98/" target="_blank" rel="noopener">https://zhangshuqiao.org/2018-07 / 在网页中添加 Live2D 看板娘 /</a><br>
<a href="https://imjad.cn/archives/lab/add-dynamic-poster-girl-with-live2d-to-your-blog-02" target="_blank" rel="noopener">https://imjad.cn/archives/lab/add-dynamic-poster-girl-with-live2d-to-your-blog-02</a><br>
<a href="https://github.com/summerscar/live2dDemo" target="_blank" rel="noopener">https://github.com/summerscar/live2dDemo</a></p>
<p>还可以自行搭建后端 api，并增加模型（需要修改的内容比较多，此处不再赘述）：<br>
<a href="https://github.com/fghrsh/live2d_api" target="_blank" rel="noopener">https://github.com/fghrsh/live2d_api</a><br>
<a href="https://github.com/xiazeyu/live2d-widget-models" target="_blank" rel="noopener">https://github.com/xiazeyu/live2d-widget-models</a><br>
<a href="https://github.com/xiaoski/live2d_models_collection" target="_blank" rel="noopener">https://github.com/xiaoski/live2d_models_collection</a></p>
<p>除此之外，还有桌面版本：<br>
<a href="https://github.com/amorist/platelet" target="_blank" rel="noopener">https://github.com/amorist/platelet</a><br>
<a href="https://github.com/akiroz/Live2D-Widget" target="_blank" rel="noopener">https://github.com/akiroz/Live2D-Widget</a></p>
<p>另外，点击看板娘的纸飞机按钮，会出现一个彩蛋，这来自于<a href="http://www.websiteasteroids.com" target="_blank" rel="noopener"> WebsiteAsteroids</a>。</p>
<h2 id="许可证-license"><a class="markdownIt-Anchor" href="#许可证-license">#</a> 许可证 License</h2>
<p>Released under the GNU General Public License v3<br>
<a href="http://www.gnu.org/licenses/gpl-3.0.html" target="_blank" rel="noopener">http://www.gnu.org/licenses/gpl-3.0.html</a></p>
<h2 id="更新-update"><a class="markdownIt-Anchor" href="#更新-update">#</a> 更新 Update</h2>
<p>2018 年 10 月 31 日，由 fghrsh 提供的原 API 停用，请更新至新地址。参考文章：<br>
<a href="https://www.fghrsh.net/post/170.html" target="_blank" rel="noopener">https://www.fghrsh.net/post/170.html</a></p>
